Перейти к основному содержимому

5.07. Готовые Функции и константы PHP

Разработчику Архитектору

Готовые Функции и константы PHP

PHP предоставляет большое количество встроенных функций и констант для решения самых разных задач: от работы с массивами до отправки почты, парсинга XML и архивации ZIP.

Error

Функции и константы для управления обработкой ошибок: генерация пользовательских ошибок, настройка уровня отчетности, регистрация пользовательских обработчиков.

Функция / КонстантаОписаниеПример
trigger_error()Вызывает пользовательскую ошибкуtrigger_error("Ошибка подключения", E_USER_WARNING);
error_reporting()Устанавливает уровень отчетности об ошибкахerror_reporting(E_ALL);
set_error_handler()Регистрирует пользовательский обработчик ошибокset_error_handler(fn() => "Ошибка");
restore_error_handler()Восстанавливает предыдущий обработчик ошибокrestore_error_handler();
E_ERROR, E_WARNING, E_NOTICE, E_DEPRECATEDТипы ошибокif ($errno == E_USER_ERROR) { ... }

Array

Операции с массивами: преобразование, фильтрация, агрегация элементов, объединение массивов, проверка наличия значений и параметры сортировки.

Функция / КонстантаОписаниеПример
array_map()Применяет callback ко всем элементам массиваarray_map('strtoupper', $arr);
array_filter()Фильтрует массив через callbackarray_filter($arr, fn($v) => $v > 0);
array_reduce()Сворачивает массив в одно значениеarray_reduce([1,2,3], fn($a,$b) => $a+$b);
in_array()Проверяет наличие значения в массивеin_array(5, [1,2,3,4]);
array_merge()Объединяет массивыarray_merge([1,2], [3,4]);
SORT_REGULAR, SORT_NUMERIC, SORT_STRINGКонстанты сортировкиsort($arr, SORT_NUMERIC);

FTP

Функции для работы с FTP-серверами: установка соединения, авторизация, загрузка и скачивание файлов, выбор режима передачи (ASCII/Binary).

Функция / КонстантаОписаниеПример
ftp_connect()Устанавливает соединение с FTP-сервером$conn = ftp_connect("ftp.example.com");
ftp_login()Авторизация на сервереftp_login($conn, 'user', 'pass');
ftp_put()Загружает файл на серверftp_put($conn, "remote.txt", "local.txt", FTP_ASCII);
ftp_get()Скачивает файл с сервераftp_get($conn, "local.txt", "remote.txt", FTP_ASCII);
FTP_ASCII, FTP_BINARYРежимы передачиftp_put($conn, "file.txt", "file.txt", FTP_ASCII);

HTTP

Инструменты для отправки HTTP-заголовков, управления сессиями, установки cookie, получения/установки кодов ответа и работы с данными запроса.

Функция / КонстантаОписаниеПример
header()Отправляет HTTP-заголовокheader("Location: /home");
setcookie()Устанавливает cookiesetcookie("user", "John", time()+3600);
session_start()Инициализирует сессиюsession_start(); $_SESSION['user'] = 'John';
http_response_code()Получает/устанавливает код ответа HTTPhttp_response_code(404);
HTTP_RAW_POST_DATAСодержит данные POST-запроса (устаревшая)echo $HTTP_RAW_POST_DATA;

Mail

Функции для отправки электронной почты, настройки параметров почтового сервера через php.ini, а также константы, ограничивающие формат писем.

Функция / КонстантаОписаниеПример
mail()Отправляет emailmail("user@example.com", "Тема", "Сообщение");
ini_set()Настраивает параметры почтыini_set("sendmail_from", "me@example.com");
MAIL_MAX_LINE_LENGTHМаксимальная длина строки в письмеdefine("MAIL_MAX_LINE_LENGTH", 998);
SMTP, smtp_portНастройки SMTP в php.iniini_get("SMTP")

String

Базовые операции с текстом: определение длины строки, поиск подстрок, извлечение части строки, замена содержимого, преобразование регистра.

Функция / КонстантаОписаниеПример
strlen()Длина строкиecho strlen("Hello"); // 5
strpos()Ищет позицию подстрокиecho strpos("Hello", "e"); // 1
substr()Возвращает часть строкиecho substr("Hello", 0, 3); // Hel
str_replace()Замена в строкеecho str_replace("old", "new", "old text");
CASE_LOWER, CASE_UPPERКонстанты для преобразования регистраstrtolower("HELLO")

Variable

Функции для проверки типа переменной, её существования, удаления, а также стандартные значения (NULL, true, false) и типизированные проверки.

Функция / КонстантаОписаниеПример
gettype()Возвращает тип переменнойecho gettype($var);
is_string(), is_int() и прочие по типамПроверяет типif (is_numeric($var)) { ... }
isset()Проверяет существование переменнойif (isset($_POST['name'])) { ... }
unset()Удаляет переменнуюunset($var);
NULL, true, falseСтандартные логические и null значения$val = NULL;

Date/Time

Работа с датой и временем: форматирование, получение текущего времени в Unix-формате, преобразование строковых представлений дат, ООП-класс DateTime и стандартные форматы вывода.

Функция / КонстантаОписаниеПример
date()Форматирует датуecho date("Y-m-d H:i:s");
time()Текущее время в формате Unix timestampecho time();
strtotime()Преобразует текстовое представление датыstrtotime("next Friday");
DateTimeООП-класс для работы с датой$dt = new DateTime(); echo $dt->format("d.m.Y");
DATE_ATOM, DATE_ISO8601, DATE_RFC822Форматы вывода датыecho date(DATE_RFC822);

Directory

Операции с каталогами: открытие, чтение содержимого по одному элементу или списком, использование системных разделителей путей.

Функция / КонстантаОписаниеПример
opendir()Открывает директорию$dh = opendir("/path/to/dir");
readdir()Читает содержимое директорииwhile (($file = readdir($dh)) !== false) { echo $file; }
scandir()Возвращает список файлов в виде массиваprint_r(scandir("/path"));
DIR_SEPARATOR, DIRECTORY_SEPARATORРазделитель каталоговecho DIRECTORY_SEPARATOR; // \ или /

Math

Математические функции: генерация случайных чисел, вычисление модуля, округление, получение минимального и максимального значений, константа π.

Функция / КонстантаОписаниеПример
rand(), mt_rand()Генерирует случайное числоecho rand(1, 10);
abs()Возвращает абсолютное значениеecho abs(-5); // 5
round(), ceil(), floor()Округление чиселecho round(3.6); // 4
pi(), M_PIВозвращает число πecho M_PI; // 3.14159...
max(), min()Возвращает максимум или минимумecho max([1,2,3]); // 3

Filter

Функции для валидации и фильтрации данных: проверка email, URL, IP-адресов, очистка строк, безопасная обработка входных данных из GET, POST и других источников.

Функция / КонстантаОписаниеПример
filter_var()Проверяет или очищает переменнуюfilter_var("test@example.com", FILTER_VALIDATE_EMAIL);
FILTER_SANITIZE_STRINGОчищает строкуfilter_var("<b>Hello</b>", FILTER_SANITIZE_STRING);
FILTER_VALIDATE_URL, FILTER_VALIDATE_IPПроверяет URL или IPfilter_var("https://example.com ", FILTER_VALIDATE_URL);
filter_input()Проверяет входящие данныеfilter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL);

Calendar

Поддержка календарных вычислений: определение количества дней в месяце, работа с юлианским календарём, расчёт даты Пасхи с использованием различных методик.

| :--- | :--- | :--- | | cal_days_in_month() | Количество дней в месяце | echo cal_days_in_month(CAL_GREGORIAN, 2, 2024); // 29 | | jddayofweek() | Возвращает день недели по юлианскому календарю | echo jddayofweek(2459304); | | CAL_EASTER_DEFAULT, CAL_EASTER_ROMAN, CAL_EASTER_ALWAYS_GREGORIAN | Константы для расчёта Пасхи | easter_date(2024, CAL_EASTER_ROMAN); |

XML

Низкоуровневый парсинг XML: создание парсера, обработка структуры документа, установка обработчиков элементов, анализ кодов ошибок.

Функция / КонстантаОписаниеПример
xml_parser_create()Создаёт XML-парсер$parser = xml_parser_create();
xml_parse_into_struct()Парсит XML в структуруxml_parse_into_struct($parser, $data, $vals, $index);
XML_ERROR_NONE, XML_ERROR_SYNTAXКоды ошибок парсераif (xml_get_error_code($parser) == XML_ERROR_NONE) { ... }
xml_set_element_handler()Устанавливает обработчики начала и конца теговxml_set_element_handler($parser, "startTag", "endTag");

Zip

Работа с ZIP-архивами: открытие, чтение записей, извлечение файлов; предоставляет также объектный интерфейс через класс ZipArchive.

Функция / КонстантаОписаниеПример
zip_open()Открывает zip-файл$zip = zip_open("archive.zip");
zip_read()Чтение следующего файла из архиваwhile ($entry = zip_read($zip)) { ... }
ZipArchiveООП-интерфейс для работы с ZIP